SPB Git forge

spb/spb-cloud

Public
10commits 1branches 0releases
3.2 MBsize
maindefault branch
yesterdaylast push
JavaScript 56.7% TypeScript 42.6%
862 B · 28 lines typescript
Raw Blame History
1import { NextRequest, NextResponse } from "next/server";2import { prisma } from "@/lib/prisma";3import { loadFileData } from "@/lib/storage";4import { logActivity } from "@/lib/activity";56export async function GET(7  request: NextRequest,8  { params }: { params: { id: string } }9) {10  const file = await prisma.file.findUnique({ where: { id: params.id } });1112  if (!file) {13    return NextResponse.json({ error: "File not found" }, { status: 404 });14  }1516  const data = await loadFileData(file.storagePath, file.isEncrypted);1718  await logActivity("DOWNLOAD", file.id, `Downloaded ${file.name}`);1920  return new NextResponse(new Uint8Array(data), {21    headers: {22      "Content-Type": "application/octet-stream",23      "Content-Disposition": `attachment; filename="${encodeURIComponent(file.name)}"`,24      "Content-Length": String(data.length),25    },26  });27}28